#include<iostream>
#include<climits>
using namespace std;
bool F[2005][2005];
int N,S[21],sum,ans=INT_MAX;
int main(){
	cin>>N;
	for(int i=1;i<=N;i++){
		cin>>S[i];
		sum+=S[i];
	}
	F[0][0]=1;
	for(int i=1;i<=N;i++){
		for(int j=sum;j>=0;j--){
			for(int k=sum;k>=0;k--){
				F[j][k]=F[j][k];
				if(j>=S[i])F[j][k]|=F[j-S[i]][k];
				if(k>=S[i])F[j][k]|=F[j][k-S[i]];
				if(F[j][k])ans=min(ans,max(max(j,k),sum-j-k));
			}
		}
	}
	cout<<ans<<endl;
}
